// P2709 write by cn_ryh